<?php

namespace app\command\services;


use think\App;

class HxService
{
    private $service;



    public function __construct()
    {
        $app = new App();
        $this->service = $app->make(HxApi::class);;

    }



    /**
     *
     * @return void
     */
    public function handleMessage(): void
    {
        /*获取消息池的数据*/
        $result = $this->service->getMeg(0, 3);
//        log_write('获取到的消息池数据:（' . sizeof($result) . '条）' . json_encode($result) );
        //        0: //返回所有类型消息
        //1: //订单状态变动 order_sn：订单号 order_status：订单状态 3：已发货 4：确认收货 5：订单取消 6 ：订单完结
        //2: //售后订单状态变动 service_sn:售后单号 status：2：审核通过 3：售后完结 4：审核驳回 5：取消申请 20：已处理 50：卖家填写物流单号 60：买家填写物流单号 70：待卖家确认
        //4://选品库商品添加 spu_id：商品ID
        //5://选品库商品删除 spu_id：商品ID
        //6://商品信息变动 spu_id：商品ID
        //7://商品库存变动
        //8://商品价格变动
        //9://商品spu上下架变动 spu_id：商品ID status：状态 1:下架 2：上架
        //10://商品sku上下架变动 sku_id：商品规格ID status：状态 0：下架 1：上架
        $messagesType = [
            '0' => '所有',
            '1' => '订单状态变动',
            '2' => '售后订单状态变动',
            '3' => '未知',
            '4' => '选品库商品添加',
            '5' => '选品库商品删除',
            '6' => '商品信息变动',
            '7' => '商品库存变动',
            '8' => '商品价格变动',
            '9' => '商品spu上下架变动',
            '10' => '商品sku上下架变动',
        ];
        foreach ($result as $k => $v) {
//            dump($v);
//            log_write('消息池数据:类型:' . $messagesType[$v['type']] . json_encode($v) );
            $res = $this->service->delMeg($v['id']);
//            log_write('[删除消息]' . ((gettype($res) === 'array') ? '成功' : '失败') );
        }
    }

    public function getProducts():  array
    {
        $result = [];
        $page = 1;
        while (true) {
            $tmp = $this->service->getSpuIdList($page,100)->toArray();
            if (sizeof($result) == 0) {
                break;
            }
            $result = array_merge($result, $tmp);
        }
        return $result;
    }


}